// 导入 express
const express = require('express')
// 创建路由对象
const router = express.Router()
// 导入验证数据合法性的中间件
const expressJoi = require('@escook/express-joi')
// 导入需要的验证规则对象
const {
    update_userinfo_schema,
    update_password_schema,
    edit_user_schema,
} = require('../schema/user')

const {
    update_avatar_schema
} = require('../schema/user')

//----------------------------------------------------------------
// 导入用户信息的处理函数模块
const userinfo_handler = require('../router_handler/userinfo')

// 根据id更新纪实评分信息
router.post('/userinfo/updateRecord/', userinfo_handler.updateRecord)

// 根据id更新用户评分信息
router.post('/userinfo/updateScor/', userinfo_handler.updateScor)

//根据id删除用户
router.post('/userinfo/deleteUser', userinfo_handler.deleteUser)

//根据id审核用户的权限
router.post('/userinfo/checkUser/', userinfo_handler.checkUser)

// 根据id更新用户的基本信息
router.post('/userinfo/updateUser/', userinfo_handler.updateUser)
// 根据id修改用户的密码
router.post('/userinfo/editPassword/', userinfo_handler.editPassword)

// 根据id获取用户的基本信息
router.get('/userinfo/user/:id', expressJoi(edit_user_schema), userinfo_handler.getUser)

//获取所有用户的信息
router.post('/userinfo/users/', userinfo_handler.getUsers)

// 获取用户的基本信息
router.get('/userinfo', userinfo_handler.getUserInfo)

// 更新用户的基本信息
router.post('/userinfo', expressJoi(update_userinfo_schema), userinfo_handler.updateUserInfo)

// 重置密码的路由
router.post('/updatepwd', expressJoi(update_password_schema), userinfo_handler.updatePassword)

// 更新用户头像的路由
router.post('/update/avatar', expressJoi(update_avatar_schema), userinfo_handler.updateAvatar)

//----------------------------------------------------------------
// 向外共享路由对象
module.exports = router